home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / byte0787.arc / IWPAS.ARC / COUNT.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1987-04-28  |  1.5 KB  |  63 lines

  1. PROGRAM Count(input,output,picfile);
  2.  
  3. { Copyright (c) 1987, Ciarcia's Circuit Cellar          }
  4. {    All Rights Reserved                                }
  5.  
  6. {$U- control-break checking during execution            }
  7. {$C- control-break checking during I/O operations       }
  8. {$R- array range checking                               }
  9.  
  10. {$Ideclares.p                   declarations            }
  11. {$Ihexutil.p                    hex utilities           }
  12. {$Iserial.p                     serial interface code   }
  13. {$Ipictures.p                   picture file code       }
  14. {$Iimages.p                     image processing        }
  15.  
  16. VAR
  17.  level     : INTEGER;
  18.  valerror  : INTEGER;
  19.  npels     : REAL;
  20.  retval    : INTEGER;
  21.  
  22. BEGIN
  23.  
  24.  LowVideo;
  25.  
  26.  pic1 := NIL;                   { ensure new alloc      }
  27.  PicSetup(pic1);                { set up picture array  }
  28.  
  29.  filespec := GetFSpec(ParamStr(1));
  30.  
  31.  LoadPicture(filespec,pic1);
  32.  
  33.  IF Length(ParamStr(2)) = 0
  34.   THEN BEGIN
  35.    Write('Pel level (0-63): ');
  36.    Readln(level);
  37.    IF level > 63
  38.     THEN level := 63;
  39.    IF level < 0
  40.     THEN level := 0;
  41.    valerror := 0;
  42.   END
  43.   ELSE Val(ParamStr(2),level,valerror);
  44.  
  45.  IF valerror <> 0
  46.   THEN BEGIN
  47.    Writeln('Level must be numeric: ',ParamStr(2));
  48.    Halt;
  49.   END;
  50.  
  51.  Writeln('Counting...');
  52.  npels := CountPels(pic1,level);
  53.  
  54.  Writeln(npels:8:0,' pels >= ',level,' brightness');
  55.  
  56.  retval := Trunc(npels/100.0);
  57.  
  58.  IF retval > 255
  59.   THEN Halt(255)
  60.   ELSE Halt(retval);
  61.  
  62. END.
  63.